小朋友的编程教育,不是敲代码
上周我们团购的两组产品中,有一个产品是可编程的小火车(点击了解),所以聊到一些和儿童“编程”有关的话题,以及我们对于“儿童编程”教学或者产品的看法。有很多读者对这个话题感兴趣,所以我们今天再展开多聊一下。
随着互联网时代的来临,“编程”成为了职场重要的技能之一,所以很多家长也希望小朋友从小就能开始这方面的学习。
很多时候,家长抱着让孩子学编程的目的,去市面上买了那些编程类的教具、玩具、桌游或者课程,拿到之后却不知道如何用,或者跟自己记忆中以前学过的C,JAVA,PHP的情况相差甚远。于是不禁感到疑惑,觉得自己是不是被忽悠了。
有这种疑惑,是因为我们印象中的编程,往往就是右键点击网页然后查看源代码的感觉,形象一点,就是一个程序猿在电脑前面狂敲键盘的结果:
wiki"program"词条页面的一部分源代码
所以很多读者问过我们,哪种计算机语言适合小朋友来学,有没有推荐的课程或者学习软件之类的。其实对于小朋友来说,编程启蒙并不是对着屏幕敲代码。在开始自己敲打代码之前,更重要的是去了解和学习编程的核心还有基础。
那什么是编程呢?那其实要从什么是“程序”来思考。
其实我们从字面上,就可以理解其中的一些含义。什么是“程序”,按照《现代汉语字典》,“计算机程序”是指:为实现某种目的而由计算机执行的代码和指令序列,通过程序设计语言实现。
看到这句话,估计很多人就会被绕到死机了,但程序这个词早在计算机出现之前就有了,意思很简单,就是事物发展进程的次序。比如开会的程序,审核的程序等等。
计算机的程序,也可以这样理解:为了实现某个目标的代码序列。
所以学习程序的基础,就是熟悉序列,不是学习一行行代码的顺序,而是指令、做事的顺序。
从英文的角度,同样也是如此。“编程”的简称,通常是对应programming,有时候会用coding(编写指令)。那什么是program?
program这个词,当然也比计算机更古老。它的含义有很多,比如实现某种目的的行动计划,活动日程、电视电台节目、物品清单......等等
我们可以看到,这些含义的共性,就是把一系列动作或内容,按照一定顺序排列执行,无论是电视栏目,还是课程学习计划,最终实现某个目标。所以用“程序”来对应program,翻译的很恰当。
我们之前聊过孩子的数学启蒙、语文启蒙,其中最老生常谈的一件事,就是儿童的学科启蒙教育,并不是简单的“提前学”,更不是刷题。而是要用符合这个年龄段孩子的认知水平的方式,来培养对这个学科学习真正有帮助的基础能力。
比如我们说过数学的基础要从数形结合开始,语文要从汉字的字源字义开始。而编程也是如此,编程的基础,并不是被背一堆计算机语言指令。而是理解什么是“程序”,什么是“次序”。
而想培养这方面的能力,可以选择一些和简单或者图形编程有关的玩具、桌游外,但更重要的,是在日常生活中,培养孩子对于“项目进程”的了解,参与到制定执行次序方案的过程中来,而不是简单的家长说什么孩子做什么。
比如出去旅游的规划,比如日常生活的作息表,哪些应该在前,哪些应该在后,前后顺序之间有没有影响,哪种排序的效果更优?这些事情虽然看上去和电脑程序没什么关系,但帮助孩子养成的基础能力,却可以对未来的编程学习有很大的帮助。
当然,对于小朋友来说,学习编程也可以从代码(code)入手,只不过对于学龄前或者小学生的说,coding启蒙类的编程玩具,也不是敲代码的风格。
比如OSMO的这款coding starter kit的iPad App和外设。
或者我们上周五推荐的coding express小火车。
还包括很多其他的coding启蒙玩具,都是用形象的动作指令,比如“如何规划行进路线”这种,来作为coding的入门,为什么会这么选择呢?再来看看什么是code(代码)。
code的含义,并不特指那一行行的计算机程序代码,在韦伯词典中,对应的解释其实是:“a system of signals or symbols for communication”,也就是一种用符号或信号进行通讯的体系。
广义的说,我们日常使用的各种语言,中文、英文、法文......都是代码。
还记得N年前在新东方学T&G的时候,听过某位创始人总喜欢上课讲的一个段子:英语系毕业的他跑去美国申请计算机系,专业差太远原本没希望,但他用“英语和计算机语言都是语言”这个理由,居然说服了招生老师。
虽然我个人对这个故事的真实性存疑。但他讲的这个道理的确是通的:计算机语言的确也是一种语言。只是它是一种特殊的,人和机器沟通的语言 —— 可以理解为我们在和机器聊天。
除了我们的语言外,生活中还有很多特定用途的code,比如海军用的旗语,电报用的摩斯代码,都是一种code。
不同的code有不同的目的,也有不同的难度,所以对于低龄的小朋友来说,很适合他们学习的一种简单code,就是 —— 指路:左转、右转、前进、后退,这些就是最基本的指令。因此coding启蒙类的玩具,往往都不约而同的选择了规划路线这种“程序(program)”,来作为启蒙的方式。
这种coding启蒙所做的,就是让小朋友了解和认知如何和机器进行对话。用这些简单的指令,告诉机器人、火车头、或者软件里的人物,自己想让它完成什么工作。
这其实就是编写代码。学习和掌握这种看似无比简单的coding,可以帮助孩子为未来学习其他更复杂的代码语言打好基础。更重要的是,这也是未来生活在越来越程序化,互联网化的社会中,我们所需要掌握的基础思维能力之一。
不过用玩具和生活中的种种来学习编程启蒙的方式还有很多,我们以后有机会再跟大家聊聊如何用玩具来学习编程。
聊了这么多之后,最后忍不住稍微泼点凉水。学习编程很有趣,在这过程中所培养的能力,对孩子也很有帮助。
不过如果你希望孩子学编程的理由,是觉得以后可以当个程序员好找工作,那也许应该再三思一下,毕竟在人工智能AI的年代,程序员是和AI关系最近的职业之一,却也是专家们预测的最容易被AI所替代的职业之一。
当然,这种危机风险存在于各行各业。在现在这个快速变化时代,新的行业,新的职业层出不穷,旧的职业也消亡的非常迅速。我们都无法判断未来孩子长大之后,可能有怎样的工作机会,本着培养职业技能从娃娃抓起之类的目的来启蒙,未来很可能会失望。
所以,即便我们的教育目标很简单,就是为了未来容易就业,那合理的方式,也不是“从小掌握一门手艺”,而是加强素质教育、基础能力教育。既然世界万变,那我们就选择以不变应万变,才能让孩子在未来有机会选择适合自己的职业,并在那个我们无法预测的职场上,取得成功。
我们新增了日常提问咨询的入口,如果你有什么问题,可以点击我们公众号下方工具栏的【提问沟通】告诉我们:
与教育相关的文章,也可以点击工具栏里的【文章搜索】,在搜索栏里输入“教育”来进入相关的文章列表:
学的知识都还给老师了,我们还剩下什么
怎样的孩子容易被霸凌?怎样的会霸凌人?
教育是服务,底线是安全
幼儿园禁止小学内容不重要,重要的是幼儿园该学的到大学都没教
除了不会就选C,还有什么“考试技巧”?作弊不算哦
判作业是老师的工作,不是家长的
为什么要过洋节?因为开心啊
只有1/9家长会看的文章,左撇子宝宝的养育建议
为人父母,你为什么不敢管教孩子?
英语早教班不会和你说的事情
左脑逻辑右脑创意?你的大脑可不是这么分工的
为什么要教孩子做个好人?用数学公式来推导一下
吵闹不专注?蒙台梭利安静游戏的自律练习
不吉利背后的中式死亡焦虑
带宝宝去电影院的第一原则——别扰民
近期文章回顾